** 這主題博大精深這裡先進行初步的介紹**
資料結構可以想像成容器,每個物品都有適合放置的地方,衣櫃裏面放衣服、鞋櫃裡面放鞋子、水壺裡面裝水,選到正確的存放方式會更有效率的處理那些存放的物品。
資料結構就是要認識有怎樣空間可以讓你存(取),他們用甚麼方式存(取)資料,這些空間的建立是為了之後搭配演算法的使用。
方案一 : 準備一個藥櫃,當時間一到就去開藥櫃找到那個時段藥吃的藥拿來吃。
方案二 : 準備藥盒,先把藥分成早中晚藥吃的分別放在標註為"早"、"中"、"晚"的盒子內,時間到就打開哪個盒子的藥來吃。
放藥 :
方案一的話不用分類,藥就丟到櫃子就好了。
方案二藥先分類,先把早中晚的藥都分開放置。
取藥 :
方案一要先找到正確時段的藥品,拆封,吃藥。
方案二只要打開盒子吃,裡面的藥就是該時段的藥,不用再確認一次。
在意放藥時間的話就選擇放在櫃子裡(方案一)
在意吃藥快的話就選擇分類到盒子裡(方案二)因應需求選擇適當的資料結構才能夠提高處理效率
使用C#,找到一篇已經整理好的文章 :
https://www.huanlintalk.com/2018/02/choosing-net-collection-types.html
直接引用文章裡面的圖 :
先大概了解這些分類,之後找幾個演算法來執行看看放在不同容器內效率差距會多高。